{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 爬取百度图片"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. 导入库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "import json\n",
    "import os\n",
    "import pprint"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. 爬取百度图片"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "① 爬取图片：\n",
    "\n",
    "1. 将header复制下来，粘贴在记事本上，作为一个URL，后文会用到。\n",
    "2. 其他参数也都复制下来，粘贴在记事本上，作为一个UR，后文会用到。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入你想下载的内容：刘亦菲\n",
      "请输入你想爬取的页数：20\n",
      "1.jpg 下载成功啦！！！\n",
      "2.jpg 下载成功啦！！！\n",
      "3.jpg 下载成功啦！！！\n",
      "4.jpg 下载成功啦！！！\n",
      "5.jpg 下载成功啦！！！\n",
      "6.jpg 下载成功啦！！！\n",
      "7.jpg 下载成功啦！！！\n",
      "8.jpg 下载成功啦！！！\n",
      "9.jpg 下载成功啦！！！\n",
      "10.jpg 下载成功啦！！！\n",
      "11.jpg 下载成功啦！！！\n",
      "12.jpg 下载成功啦！！！\n",
      "13.jpg 下载成功啦！！！\n",
      "14.jpg 下载成功啦！！！\n",
      "15.jpg 下载成功啦！！！\n",
      "16.jpg 下载成功啦！！！\n",
      "17.jpg 下载成功啦！！！\n",
      "18.jpg 下载成功啦！！！\n",
      "19.jpg 下载成功啦！！！\n",
      "20.jpg 下载成功啦！！！\n",
      "21.jpg 下载成功啦！！！\n",
      "22.jpg 下载成功啦！！！\n",
      "23.jpg 下载成功啦！！！\n",
      "24.jpg 下载成功啦！！！\n",
      "25.jpg 下载成功啦！！！\n",
      "26.jpg 下载成功啦！！！\n",
      "27.jpg 下载成功啦！！！\n",
      "28.jpg 下载成功啦！！！\n",
      "29.jpg 下载成功啦！！！\n",
      "30.jpg 下载成功啦！！！\n",
      "31.jpg 下载成功啦！！！\n",
      "32.jpg 下载成功啦！！！\n",
      "33.jpg 下载成功啦！！！\n",
      "34.jpg 下载成功啦！！！\n",
      "35.jpg 下载成功啦！！！\n",
      "36.jpg 下载成功啦！！！\n",
      "37.jpg 下载成功啦！！！\n",
      "38.jpg 下载成功啦！！！\n",
      "39.jpg 下载成功啦！！！\n",
      "40.jpg 下载成功啦！！！\n",
      "41.jpg 下载成功啦！！！\n",
      "42.jpg 下载成功啦！！！\n",
      "43.jpg 下载成功啦！！！\n",
      "44.jpg 下载成功啦！！！\n",
      "45.jpg 下载成功啦！！！\n",
      "46.jpg 下载成功啦！！！\n",
      "47.jpg 下载成功啦！！！\n",
      "48.jpg 下载成功啦！！！\n",
      "49.jpg 下载成功啦！！！\n",
      "50.jpg 下载成功啦！！！\n",
      "51.jpg 下载成功啦！！！\n",
      "52.jpg 下载成功啦！！！\n",
      "53.jpg 下载成功啦！！！\n",
      "54.jpg 下载成功啦！！！\n",
      "55.jpg 下载成功啦！！！\n",
      "56.jpg 下载成功啦！！！\n",
      "57.jpg 下载成功啦！！！\n",
      "58.jpg 下载成功啦！！！\n",
      "59.jpg 下载成功啦！！！\n",
      "60.jpg 下载成功啦！！！\n",
      "61.jpg 下载成功啦！！！\n",
      "62.jpg 下载成功啦！！！\n",
      "63.jpg 下载成功啦！！！\n",
      "64.jpg 下载成功啦！！！\n",
      "65.jpg 下载成功啦！！！\n",
      "66.jpg 下载成功啦！！！\n",
      "67.jpg 下载成功啦！！！\n",
      "68.jpg 下载成功啦！！！\n",
      "69.jpg 下载成功啦！！！\n",
      "70.jpg 下载成功啦！！！\n",
      "71.jpg 下载成功啦！！！\n",
      "72.jpg 下载成功啦！！！\n",
      "73.jpg 下载成功啦！！！\n",
      "74.jpg 下载成功啦！！！\n",
      "75.jpg 下载成功啦！！！\n",
      "76.jpg 下载成功啦！！！\n",
      "77.jpg 下载成功啦！！！\n",
      "78.jpg 下载成功啦！！！\n",
      "79.jpg 下载成功啦！！！\n",
      "80.jpg 下载成功啦！！！\n",
      "81.jpg 下载成功啦！！！\n",
      "82.jpg 下载成功啦！！！\n",
      "83.jpg 下载成功啦！！！\n",
      "84.jpg 下载成功啦！！！\n",
      "85.jpg 下载成功啦！！！\n",
      "86.jpg 下载成功啦！！！\n",
      "87.jpg 下载成功啦！！！\n",
      "88.jpg 下载成功啦！！！\n",
      "89.jpg 下载成功啦！！！\n",
      "90.jpg 下载成功啦！！！\n",
      "91.jpg 下载成功啦！！！\n",
      "92.jpg 下载成功啦！！！\n",
      "93.jpg 下载成功啦！！！\n",
      "94.jpg 下载成功啦！！！\n",
      "95.jpg 下载成功啦！！！\n",
      "96.jpg 下载成功啦！！！\n",
      "97.jpg 下载成功啦！！！\n",
      "98.jpg 下载成功啦！！！\n",
      "99.jpg 下载成功啦！！！\n",
      "100.jpg 下载成功啦！！！\n",
      "101.jpg 下载成功啦！！！\n",
      "102.jpg 下载成功啦！！！\n",
      "103.jpg 下载成功啦！！！\n",
      "104.jpg 下载成功啦！！！\n",
      "105.jpg 下载成功啦！！！\n",
      "106.jpg 下载成功啦！！！\n",
      "107.jpg 下载成功啦！！！\n",
      "108.jpg 下载成功啦！！！\n",
      "109.jpg 下载成功啦！！！\n",
      "110.jpg 下载成功啦！！！\n",
      "111.jpg 下载成功啦！！！\n",
      "112.jpg 下载成功啦！！！\n",
      "113.jpg 下载成功啦！！！\n",
      "114.jpg 下载成功啦！！！\n",
      "115.jpg 下载成功啦！！！\n",
      "116.jpg 下载成功啦！！！\n",
      "117.jpg 下载成功啦！！！\n",
      "118.jpg 下载成功啦！！！\n",
      "119.jpg 下载成功啦！！！\n",
      "120.jpg 下载成功啦！！！\n",
      "121.jpg 下载成功啦！！！\n",
      "122.jpg 下载成功啦！！！\n",
      "123.jpg 下载成功啦！！！\n",
      "124.jpg 下载成功啦！！！\n",
      "125.jpg 下载成功啦！！！\n",
      "126.jpg 下载成功啦！！！\n",
      "127.jpg 下载成功啦！！！\n",
      "128.jpg 下载成功啦！！！\n",
      "129.jpg 下载成功啦！！！\n",
      "130.jpg 下载成功啦！！！\n",
      "131.jpg 下载成功啦！！！\n",
      "132.jpg 下载成功啦！！！\n",
      "133.jpg 下载成功啦！！！\n",
      "134.jpg 下载成功啦！！！\n",
      "135.jpg 下载成功啦！！！\n",
      "136.jpg 下载成功啦！！！\n",
      "137.jpg 下载成功啦！！！\n",
      "138.jpg 下载成功啦！！！\n",
      "139.jpg 下载成功啦！！！\n",
      "140.jpg 下载成功啦！！！\n",
      "141.jpg 下载成功啦！！！\n",
      "142.jpg 下载成功啦！！！\n",
      "143.jpg 下载成功啦！！！\n",
      "144.jpg 下载成功啦！！！\n",
      "145.jpg 下载成功啦！！！\n",
      "146.jpg 下载成功啦！！！\n",
      "147.jpg 下载成功啦！！！\n",
      "148.jpg 下载成功啦！！！\n",
      "149.jpg 下载成功啦！！！\n",
      "150.jpg 下载成功啦！！！\n",
      "151.jpg 下载成功啦！！！\n",
      "152.jpg 下载成功啦！！！\n",
      "153.jpg 下载成功啦！！！\n",
      "154.jpg 下载成功啦！！！\n",
      "155.jpg 下载成功啦！！！\n",
      "156.jpg 下载成功啦！！！\n",
      "157.jpg 下载成功啦！！！\n",
      "158.jpg 下载成功啦！！！\n",
      "159.jpg 下载成功啦！！！\n",
      "160.jpg 下载成功啦！！！\n",
      "161.jpg 下载成功啦！！！\n",
      "162.jpg 下载成功啦！！！\n",
      "163.jpg 下载成功啦！！！\n",
      "164.jpg 下载成功啦！！！\n",
      "165.jpg 下载成功啦！！！\n",
      "166.jpg 下载成功啦！！！\n",
      "167.jpg 下载成功啦！！！\n",
      "168.jpg 下载成功啦！！！\n",
      "169.jpg 下载成功啦！！！\n",
      "170.jpg 下载成功啦！！！\n",
      "171.jpg 下载成功啦！！！\n",
      "172.jpg 下载成功啦！！！\n",
      "173.jpg 下载成功啦！！！\n",
      "174.jpg 下载成功啦！！！\n",
      "175.jpg 下载成功啦！！！\n",
      "176.jpg 下载成功啦！！！\n",
      "177.jpg 下载成功啦！！！\n",
      "178.jpg 下载成功啦！！！\n",
      "179.jpg 下载成功啦！！！\n",
      "180.jpg 下载成功啦！！！\n",
      "181.jpg 下载成功啦！！！\n",
      "182.jpg 下载成功啦！！！\n",
      "183.jpg 下载成功啦！！！\n",
      "184.jpg 下载成功啦！！！\n",
      "185.jpg 下载成功啦！！！\n",
      "186.jpg 下载成功啦！！！\n",
      "187.jpg 下载成功啦！！！\n",
      "188.jpg 下载成功啦！！！\n",
      "189.jpg 下载成功啦！！！\n",
      "190.jpg 下载成功啦！！！\n",
      "191.jpg 下载成功啦！！！\n",
      "192.jpg 下载成功啦！！！\n",
      "193.jpg 下载成功啦！！！\n",
      "194.jpg 下载成功啦！！！\n",
      "195.jpg 下载成功啦！！！\n",
      "196.jpg 下载成功啦！！！\n",
      "197.jpg 下载成功啦！！！\n",
      "198.jpg 下载成功啦！！！\n",
      "199.jpg 下载成功啦！！！\n",
      "200.jpg 下载成功啦！！！\n",
      "201.jpg 下载成功啦！！！\n",
      "202.jpg 下载成功啦！！！\n",
      "203.jpg 下载成功啦！！！\n",
      "204.jpg 下载成功啦！！！\n",
      "205.jpg 下载成功啦！！！\n",
      "206.jpg 下载成功啦！！！\n",
      "207.jpg 下载成功啦！！！\n",
      "208.jpg 下载成功啦！！！\n",
      "209.jpg 下载成功啦！！！\n",
      "210.jpg 下载成功啦！！！\n",
      "211.jpg 下载成功啦！！！\n",
      "212.jpg 下载成功啦！！！\n",
      "213.jpg 下载成功啦！！！\n",
      "214.jpg 下载成功啦！！！\n",
      "215.jpg 下载成功啦！！！\n",
      "216.jpg 下载成功啦！！！\n",
      "217.jpg 下载成功啦！！！\n",
      "218.jpg 下载成功啦！！！\n",
      "219.jpg 下载成功啦！！！\n",
      "220.jpg 下载成功啦！！！\n",
      "221.jpg 下载成功啦！！！\n",
      "222.jpg 下载成功啦！！！\n",
      "223.jpg 下载成功啦！！！\n",
      "224.jpg 下载成功啦！！！\n",
      "225.jpg 下载成功啦！！！\n",
      "226.jpg 下载成功啦！！！\n",
      "227.jpg 下载成功啦！！！\n",
      "228.jpg 下载成功啦！！！\n",
      "229.jpg 下载成功啦！！！\n",
      "230.jpg 下载成功啦！！！\n",
      "231.jpg 下载成功啦！！！\n",
      "232.jpg 下载成功啦！！！\n",
      "233.jpg 下载成功啦！！！\n",
      "234.jpg 下载成功啦！！！\n",
      "235.jpg 下载成功啦！！！\n",
      "236.jpg 下载成功啦！！！\n",
      "237.jpg 下载成功啦！！！\n",
      "238.jpg 下载成功啦！！！\n",
      "239.jpg 下载成功啦！！！\n",
      "240.jpg 下载成功啦！！！\n",
      "241.jpg 下载成功啦！！！\n",
      "242.jpg 下载成功啦！！！\n",
      "243.jpg 下载成功啦！！！\n",
      "244.jpg 下载成功啦！！！\n",
      "245.jpg 下载成功啦！！！\n",
      "246.jpg 下载成功啦！！！\n",
      "247.jpg 下载成功啦！！！\n",
      "248.jpg 下载成功啦！！！\n",
      "249.jpg 下载成功啦！！！\n",
      "250.jpg 下载成功啦！！！\n",
      "251.jpg 下载成功啦！！！\n",
      "252.jpg 下载成功啦！！！\n",
      "253.jpg 下载成功啦！！！\n",
      "254.jpg 下载成功啦！！！\n",
      "255.jpg 下载成功啦！！！\n",
      "256.jpg 下载成功啦！！！\n",
      "257.jpg 下载成功啦！！！\n",
      "258.jpg 下载成功啦！！！\n",
      "259.jpg 下载成功啦！！！\n",
      "260.jpg 下载成功啦！！！\n",
      "261.jpg 下载成功啦！！！\n",
      "262.jpg 下载成功啦！！！\n",
      "263.jpg 下载成功啦！！！\n",
      "264.jpg 下载成功啦！！！\n",
      "265.jpg 下载成功啦！！！\n",
      "266.jpg 下载成功啦！！！\n",
      "267.jpg 下载成功啦！！！\n",
      "268.jpg 下载成功啦！！！\n",
      "269.jpg 下载成功啦！！！\n",
      "270.jpg 下载成功啦！！！\n",
      "271.jpg 下载成功啦！！！\n",
      "272.jpg 下载成功啦！！！\n",
      "273.jpg 下载成功啦！！！\n",
      "274.jpg 下载成功啦！！！\n",
      "275.jpg 下载成功啦！！！\n",
      "276.jpg 下载成功啦！！！\n",
      "277.jpg 下载成功啦！！！\n",
      "278.jpg 下载成功啦！！！\n",
      "279.jpg 下载成功啦！！！\n",
      "280.jpg 下载成功啦！！！\n",
      "281.jpg 下载成功啦！！！\n",
      "282.jpg 下载成功啦！！！\n",
      "283.jpg 下载成功啦！！！\n",
      "284.jpg 下载成功啦！！！\n",
      "285.jpg 下载成功啦！！！\n",
      "286.jpg 下载成功啦！！！\n",
      "287.jpg 下载成功啦！！！\n",
      "288.jpg 下载成功啦！！！\n",
      "289.jpg 下载成功啦！！！\n",
      "290.jpg 下载成功啦！！！\n",
      "291.jpg 下载成功啦！！！\n",
      "292.jpg 下载成功啦！！！\n",
      "293.jpg 下载成功啦！！！\n",
      "294.jpg 下载成功啦！！！\n",
      "295.jpg 下载成功啦！！！\n",
      "296.jpg 下载成功啦！！！\n",
      "297.jpg 下载成功啦！！！\n",
      "298.jpg 下载成功啦！！！\n",
      "299.jpg 下载成功啦！！！\n",
      "300.jpg 下载成功啦！！！\n",
      "301.jpg 下载成功啦！！！\n",
      "302.jpg 下载成功啦！！！\n",
      "303.jpg 下载成功啦！！！\n",
      "304.jpg 下载成功啦！！！\n",
      "305.jpg 下载成功啦！！！\n",
      "306.jpg 下载成功啦！！！\n",
      "307.jpg 下载成功啦！！！\n",
      "308.jpg 下载成功啦！！！\n",
      "309.jpg 下载成功啦！！！\n",
      "310.jpg 下载成功啦！！！\n",
      "311.jpg 下载成功啦！！！\n",
      "312.jpg 下载成功啦！！！\n",
      "313.jpg 下载成功啦！！！\n",
      "314.jpg 下载成功啦！！！\n",
      "315.jpg 下载成功啦！！！\n",
      "316.jpg 下载成功啦！！！\n",
      "317.jpg 下载成功啦！！！\n",
      "318.jpg 下载成功啦！！！\n",
      "319.jpg 下载成功啦！！！\n",
      "320.jpg 下载成功啦！！！\n",
      "321.jpg 下载成功啦！！！\n",
      "322.jpg 下载成功啦！！！\n",
      "323.jpg 下载成功啦！！！\n",
      "324.jpg 下载成功啦！！！\n",
      "325.jpg 下载成功啦！！！\n",
      "326.jpg 下载成功啦！！！\n",
      "327.jpg 下载成功啦！！！\n",
      "328.jpg 下载成功啦！！！\n",
      "329.jpg 下载成功啦！！！\n",
      "330.jpg 下载成功啦！！！\n",
      "331.jpg 下载成功啦！！！\n",
      "332.jpg 下载成功啦！！！\n",
      "333.jpg 下载成功啦！！！\n",
      "334.jpg 下载成功啦！！！\n",
      "335.jpg 下载成功啦！！！\n",
      "336.jpg 下载成功啦！！！\n",
      "337.jpg 下载成功啦！！！\n",
      "338.jpg 下载成功啦！！！\n",
      "339.jpg 下载成功啦！！！\n",
      "340.jpg 下载成功啦！！！\n",
      "341.jpg 下载成功啦！！！\n",
      "342.jpg 下载成功啦！！！\n",
      "343.jpg 下载成功啦！！！\n",
      "344.jpg 下载成功啦！！！\n",
      "345.jpg 下载成功啦！！！\n",
      "346.jpg 下载成功啦！！！\n",
      "347.jpg 下载成功啦！！！\n",
      "348.jpg 下载成功啦！！！\n",
      "349.jpg 下载成功啦！！！\n",
      "350.jpg 下载成功啦！！！\n",
      "351.jpg 下载成功啦！！！\n",
      "352.jpg 下载成功啦！！！\n",
      "353.jpg 下载成功啦！！！\n",
      "354.jpg 下载成功啦！！！\n",
      "355.jpg 下载成功啦！！！\n",
      "356.jpg 下载成功啦！！！\n",
      "357.jpg 下载成功啦！！！\n",
      "358.jpg 下载成功啦！！！\n",
      "359.jpg 下载成功啦！！！\n",
      "360.jpg 下载成功啦！！！\n",
      "361.jpg 下载成功啦！！！\n",
      "362.jpg 下载成功啦！！！\n",
      "363.jpg 下载成功啦！！！\n",
      "364.jpg 下载成功啦！！！\n",
      "365.jpg 下载成功啦！！！\n",
      "366.jpg 下载成功啦！！！\n",
      "367.jpg 下载成功啦！！！\n",
      "368.jpg 下载成功啦！！！\n",
      "369.jpg 下载成功啦！！！\n",
      "370.jpg 下载成功啦！！！\n",
      "371.jpg 下载成功啦！！！\n",
      "372.jpg 下载成功啦！！！\n",
      "373.jpg 下载成功啦！！！\n",
      "374.jpg 下载成功啦！！！\n",
      "375.jpg 下载成功啦！！！\n",
      "376.jpg 下载成功啦！！！\n",
      "377.jpg 下载成功啦！！！\n",
      "378.jpg 下载成功啦！！！\n",
      "379.jpg 下载成功啦！！！\n",
      "380.jpg 下载成功啦！！！\n",
      "381.jpg 下载成功啦！！！\n",
      "382.jpg 下载成功啦！！！\n",
      "383.jpg 下载成功啦！！！\n",
      "384.jpg 下载成功啦！！！\n",
      "385.jpg 下载成功啦！！！\n",
      "386.jpg 下载成功啦！！！\n",
      "387.jpg 下载成功啦！！！\n",
      "388.jpg 下载成功啦！！！\n",
      "389.jpg 下载成功啦！！！\n",
      "390.jpg 下载成功啦！！！\n",
      "391.jpg 下载成功啦！！！\n",
      "392.jpg 下载成功啦！！！\n",
      "393.jpg 下载成功啦！！！\n",
      "394.jpg 下载成功啦！！！\n",
      "395.jpg 下载成功啦！！！\n",
      "396.jpg 下载成功啦！！！\n",
      "397.jpg 下载成功啦！！！\n",
      "398.jpg 下载成功啦！！！\n",
      "399.jpg 下载成功啦！！！\n",
      "400.jpg 下载成功啦！！！\n",
      "401.jpg 下载成功啦！！！\n",
      "402.jpg 下载成功啦！！！\n",
      "403.jpg 下载成功啦！！！\n",
      "404.jpg 下载成功啦！！！\n",
      "405.jpg 下载成功啦！！！\n",
      "406.jpg 下载成功啦！！！\n",
      "407.jpg 下载成功啦！！！\n",
      "408.jpg 下载成功啦！！！\n",
      "409.jpg 下载成功啦！！！\n",
      "410.jpg 下载成功啦！！！\n",
      "411.jpg 下载成功啦！！！\n",
      "412.jpg 下载成功啦！！！\n",
      "413.jpg 下载成功啦！！！\n",
      "414.jpg 下载成功啦！！！\n",
      "415.jpg 下载成功啦！！！\n",
      "416.jpg 下载成功啦！！！\n",
      "417.jpg 下载成功啦！！！\n",
      "418.jpg 下载成功啦！！！\n",
      "419.jpg 下载成功啦！！！\n",
      "420.jpg 下载成功啦！！！\n",
      "421.jpg 下载成功啦！！！\n",
      "422.jpg 下载成功啦！！！\n",
      "423.jpg 下载成功啦！！！\n",
      "424.jpg 下载成功啦！！！\n",
      "425.jpg 下载成功啦！！！\n",
      "426.jpg 下载成功啦！！！\n",
      "427.jpg 下载成功啦！！！\n",
      "428.jpg 下载成功啦！！！\n",
      "429.jpg 下载成功啦！！！\n",
      "430.jpg 下载成功啦！！！\n",
      "431.jpg 下载成功啦！！！\n",
      "432.jpg 下载成功啦！！！\n",
      "433.jpg 下载成功啦！！！\n",
      "434.jpg 下载成功啦！！！\n",
      "435.jpg 下载成功啦！！！\n",
      "436.jpg 下载成功啦！！！\n",
      "437.jpg 下载成功啦！！！\n",
      "438.jpg 下载成功啦！！！\n",
      "439.jpg 下载成功啦！！！\n",
      "440.jpg 下载成功啦！！！\n",
      "441.jpg 下载成功啦！！！\n",
      "442.jpg 下载成功啦！！！\n",
      "443.jpg 下载成功啦！！！\n",
      "444.jpg 下载成功啦！！！\n",
      "445.jpg 下载成功啦！！！\n",
      "446.jpg 下载成功啦！！！\n",
      "447.jpg 下载成功啦！！！\n",
      "448.jpg 下载成功啦！！！\n",
      "449.jpg 下载成功啦！！！\n",
      "450.jpg 下载成功啦！！！\n",
      "451.jpg 下载成功啦！！！\n",
      "452.jpg 下载成功啦！！！\n",
      "453.jpg 下载成功啦！！！\n",
      "454.jpg 下载成功啦！！！\n",
      "455.jpg 下载成功啦！！！\n",
      "456.jpg 下载成功啦！！！\n",
      "457.jpg 下载成功啦！！！\n",
      "458.jpg 下载成功啦！！！\n",
      "459.jpg 下载成功啦！！！\n",
      "460.jpg 下载成功啦！！！\n",
      "461.jpg 下载成功啦！！！\n",
      "462.jpg 下载成功啦！！！\n",
      "463.jpg 下载成功啦！！！\n",
      "464.jpg 下载成功啦！！！\n",
      "465.jpg 下载成功啦！！！\n",
      "466.jpg 下载成功啦！！！\n",
      "467.jpg 下载成功啦！！！\n",
      "468.jpg 下载成功啦！！！\n",
      "469.jpg 下载成功啦！！！\n",
      "470.jpg 下载成功啦！！！\n",
      "471.jpg 下载成功啦！！！\n",
      "472.jpg 下载成功啦！！！\n",
      "473.jpg 下载成功啦！！！\n",
      "474.jpg 下载成功啦！！！\n",
      "475.jpg 下载成功啦！！！\n",
      "476.jpg 下载成功啦！！！\n",
      "477.jpg 下载成功啦！！！\n",
      "478.jpg 下载成功啦！！！\n",
      "479.jpg 下载成功啦！！！\n",
      "480.jpg 下载成功啦！！！\n"
     ]
    },
    {
     "ename": "JSONDecodeError",
     "evalue": "Invalid \\escape: line 24 column 139 (char 45385)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mJSONDecodeError\u001b[0m                           Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-2-ba1ca919c421>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m     63\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     64\u001b[0m     \u001b[1;31m# 把字符串转换成json数据\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 65\u001b[1;33m     \u001b[0mdata_s\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mjson\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloads\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mresponse\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     66\u001b[0m     \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata_s\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m\"data\"\u001b[0m\u001b[1;33m]\u001b[0m  \u001b[1;31m# 提取data里的数据\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     67\u001b[0m     \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m  \u001b[1;31m# 去掉最后一个空数据\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\25_anaconda\\soft\\lib\\json\\__init__.py\u001b[0m in \u001b[0;36mloads\u001b[1;34m(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)\u001b[0m\n\u001b[0;32m    355\u001b[0m             \u001b[0mparse_int\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mparse_float\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m \u001b[1;32mand\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    356\u001b[0m             parse_constant is None and object_pairs_hook is None and not kw):\n\u001b[1;32m--> 357\u001b[1;33m         \u001b[1;32mreturn\u001b[0m \u001b[0m_default_decoder\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdecode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    358\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mcls\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    359\u001b[0m         \u001b[0mcls\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mJSONDecoder\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\25_anaconda\\soft\\lib\\json\\decoder.py\u001b[0m in \u001b[0;36mdecode\u001b[1;34m(self, s, _w)\u001b[0m\n\u001b[0;32m    335\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    336\u001b[0m         \"\"\"\n\u001b[1;32m--> 337\u001b[1;33m         \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mend\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mraw_decode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0midx\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0m_w\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    338\u001b[0m         \u001b[0mend\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_w\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mend\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    339\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mend\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\25_anaconda\\soft\\lib\\json\\decoder.py\u001b[0m in \u001b[0;36mraw_decode\u001b[1;34m(self, s, idx)\u001b[0m\n\u001b[0;32m    351\u001b[0m         \"\"\"\n\u001b[0;32m    352\u001b[0m         \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 353\u001b[1;33m             \u001b[0mobj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mend\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mscan_once\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0ms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0midx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    354\u001b[0m         \u001b[1;32mexcept\u001b[0m \u001b[0mStopIteration\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    355\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mJSONDecodeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Expecting value\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0ms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0merr\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mJSONDecodeError\u001b[0m: Invalid \\escape: line 24 column 139 (char 45385)"
     ]
    }
   ],
   "source": [
    "# 创建一个文件夹\n",
    "path = 'D:/百度图片'\n",
    "if not os.path.exists(path):\n",
    "    os.mkdir(path)\n",
    "    \n",
    "# 导入一个请求头\n",
    "header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}    \n",
    "\n",
    "# 用户（自己）输入信息指令\n",
    "keyword = input('请输入你想下载的内容：')\n",
    "page = input('请输入你想爬取的页数：')\n",
    "page = int(page) + 1\n",
    "n = 0\n",
    "pn = 1\n",
    "\n",
    "# pn代表从第几张图片开始获取，百度图片下滑时默认一次性显示30张\n",
    "for m in range(1, page):\n",
    "    url = 'https://image.baidu.com/search/acjson?'\n",
    "    param = {\n",
    "        'tn': 'resultjson_com',\n",
    "        'logid': '9171654936357260815',\n",
    "        'ipn': 'rj',\n",
    "        'ct': '201326592',\n",
    "        'is': '',\n",
    "        'fp': 'result',\n",
    "        'queryWord': keyword,\n",
    "        'cl': '2',\n",
    "        'lm': '-1',\n",
    "        'ie': 'utf-8',\n",
    "        'oe': 'utf-8',\n",
    "        'adpicid': '',\n",
    "        'st': '-1',\n",
    "        'z': '',\n",
    "        'ic': '0',\n",
    "        'hd': '',\n",
    "        'latest': '',\n",
    "        'copyright': '',\n",
    "        'word': keyword,\n",
    "        's': '',\n",
    "        'se': '',\n",
    "        'tab': '',\n",
    "        'width': '',\n",
    "        'height': '',\n",
    "        'face': '0',\n",
    "        'istype': '2',\n",
    "        'qc': '',\n",
    "        'nc': '1',\n",
    "        'fr': '',\n",
    "        'expermode': '',\n",
    "        'force': '',\n",
    "        'pn': pn,\n",
    "        'rn': '30',\n",
    "        'gsm': '1e',\n",
    "        '1618308147816': ''}\n",
    "    \n",
    "    # 定义一个空列表，用于存放图片的URL\n",
    "    image_url = list()\n",
    "    \n",
    "    # 将编码形式转换为utf-8\n",
    "    response = requests.get(url=url, headers=header, params=param)\n",
    "    response.encoding = 'utf-8'\n",
    "    response = response.text\n",
    "    \n",
    "    # 把字符串转换成json数据\n",
    "    data_s = json.loads(response)\n",
    "    a = data_s[\"data\"]  # 提取data里的数据\n",
    "    for i in range(len(a)-1):  # 去掉最后一个空数据\n",
    "        data = a[i].get(\"thumbURL\", \"not exist\")  # 防止报错 key error\n",
    "        image_url.append(data)\n",
    "\n",
    "    for image_src in image_url:\n",
    "        image_data = requests.get(url=image_src, headers=header).content  # 提取图片内容数据\n",
    "        image_name = '{}'.format(n+1) + '.jpg'  # 图片名\n",
    "        image_path = path + '/' + image_name  # 图片保存路径\n",
    "        with open(image_path, 'wb') as f:  # 保存数据\n",
    "            f.write(image_data)\n",
    "            print(image_name, '下载成功啦！！！')\n",
    "            f.close()\n",
    "        n += 1\n",
    "    pn += 29"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
